As computing has changed from an on-premises model to a cloud services model where resources are distributed, differences in latency can adversely affect a user's experience and even prevent applications from functioning. For example, a user accessing cloud service expects the latency in accessing the service to be the same or nearly the same each time the user accesses the service, regardless of the physical location from which the service is provided.
Applications, such as database mirroring and synchronization applications, likewise expect minimal variation in latency between accesses to database resources located at different sites. For example, a database application synchronizing its local database with databases located at different remote sites expects the latency associated with the synchronization operations to be substantially equal. If the latency associated with synchronizing a database located at one site is different from the latency associated with synchronizing a database located at a different site is not equal, the database synchronization application may block access to the database at all sites until all synchronization operations are complete.
Another problem associated with variations in latencies between distributed computing resources is that such variations can mask network security issues. For example, a non-deterministic latency variation can be exploited by an attacker to mask attacks that involve intercepting traffic, modifying the traffic to include malicious code, and retransmitting the modified traffic to a target network. Even though intercepting, modifying, and retransmitting packets introduces latency into transactions involving the packets, such latency may be difficult to detect if variation in the natural latency (i.e., latency not caused by attacks) is non-deterministic.
Accordingly, in light of these difficulties, there exists a need for monitoring, adjusting, and utilizing latency associated with accessing distributed computing resources.